package com.starlink.model.vo.book;

import com.starlink.model.vo.MallBooksSpecificationVO;
import com.starlink.model.vo.MallBooksVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @author: zyh
 * @date: 2024-04-07
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
@ApiModel("书籍管理-书籍详情响应模型")
public class MallBooksDetailsVO {
    @ApiModelProperty("书籍详情主键id")
    private Long id;
    @ApiModelProperty("阅读兴趣评分")
    private Integer interest;
    @ApiModelProperty("内容质量评分")
    private Integer quality;
    @ApiModelProperty("心理引导评分")
    private Integer guide;
    @ApiModelProperty("运费模板名称")
    private String freeTemplateName;
    @ApiModelProperty("运费模板ID")
    private Long freeTemplateId;
    @ApiModelProperty("简介")
    private String description;
    @ApiModelProperty("作者介绍")
    private String introduction;
    @ApiModelProperty("收获")
    private String harvest;
    @ApiModelProperty("阅读准备")
    private String ready;
    @ApiModelProperty("看一看")
    private String look;
    @ApiModelProperty("读一读")
    private String read;

    // 基本信息
    @ApiModelProperty("书籍基本信息ID")
    private Long mallBooksId;
    @ApiModelProperty("书名")
    private String title;
    @ApiModelProperty("作者")
    private String author;
    @ApiModelProperty("ISBN编码")
    private String isbnNum;
    @ApiModelProperty("出版社")
    private String publishingHouse;
    @ApiModelProperty("书籍封面")
    private String picture;
    @ApiModelProperty("是否上架 0否 1是")
    private Integer onTheShelf;
    @ApiModelProperty("排序")
    private Long sortOrder;

    @ApiModelProperty("书籍分类ID")
    private List<Long> categoryIds;
    @ApiModelProperty("书籍规格信息")
    private List<MallBooksSpecificationVO> specificationRequests;

    //收藏
    @ApiModelProperty("商品类型 1书籍 2周边")
    private Integer productType;
    @ApiModelProperty("收藏ID")
    private Long collectId;

    //随机推荐
    @ApiModelProperty("随机推荐")
    private List<MallBooksVO> randomBooks;
}
